<?php
namespace Org\Util;

/**
 * sendWallet
 * +---------------------------------------+
 * +    红包与企业付款 官方接口与xml数据   +
 * +---------------------------------------+
 * function getSendRedpackXml    得到带有所有数据的 红包xml格式数据
 * function getSendTransfersXml  得到带有所有数据的 企业付款xml格式数据
 * @author sixian
 * @version v1.0
 * @copyright   
 */
class SendWallet extends RedpackData {

    function __construct($options) {
        parent::__construct($options);
    }

    /**
     * 发送红包的xml数据 包
     * @param  inputObj  传入数据
     * @return 带签名的完整 xml 数据
     */
    public function getSendRedpackXml($inputObj) {
        $xml = <<<eof
            <xml>
                <sign>{sign}</sign>
                <mch_billno>{$inputObj->get_mch_billno()}</mch_billno>
                <mch_id>{$inputObj->get_mch_id()}</mch_id>
                <wxappid>{$inputObj->get_wxappid()}</wxappid>
                <send_name>{$inputObj->get_send_name()}</send_name>
                <re_openid>{$inputObj->get_re_openid()}</re_openid>
                <total_amount>{$inputObj->get_total_amount()}</total_amount>
                <total_num>{$inputObj->get_total_num()}</total_num>
                <wishing>{$inputObj->get_wishing()}</wishing>
                <client_ip>{$inputObj->get_client_ip()}</client_ip>
                <act_name>{$inputObj->get_act_name()}</act_name>
                <remark>{$inputObj->get_remark()}</remark>
                <nonce_str>{$inputObj->get_nonce_str()}</nonce_str>
            </xml>
eof;
        $newXmlData = $this-> _getSign($xml);
        $data['api_url'] = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack';
        $data['xml_data'] = $newXmlData;
        return $data;
    }

    /**
     * 发送裂变红包的xml数据 包
     * @param  inputObj  传入数据
     * @return 带签名的完整 xml 数据 add param => amt_type, amt_list, watermark_imgurl, banner_imgurl
     */
    public function getSendgroupredpackXml($inputObj) {
        $xml = <<<eof
            <xml>
                <sign>{sign}</sign>
                <mch_billno>{$inputObj->get_mch_billno()}</mch_billno>
                <mch_id>{$inputObj->get_mch_id()}</mch_id>
                <wxappid>{$inputObj->get_wxappid()}</wxappid>
                <send_name>{$inputObj->get_send_name()}</send_name>
                <re_openid>{$inputObj->get_re_openid()}</re_openid>
                <total_amount>{$inputObj->get_total_amount()}</total_amount>
                <amt_type>{$inputObj->get_amt_type()}</amt_type>
                <amt_list>{$inputObj->get_amt_list()}</amt_list>
                <total_num>{$inputObj->get_total_num()}</total_num>
                <wishing>{$inputObj->get_wishing()}</wishing>
                <act_name>{$inputObj->get_act_name()}</act_name>
                <remark>{$inputObj->get_remark()}</remark>
                <nonce_str>{$inputObj->get_nonce_str()}</nonce_str>
            </xml>
eof;

        $newXmlData = $this-> _getSign($xml);
        $data['api_url'] = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack';
        $data['xml_data'] = $newXmlData;
        return $data;
    }

    /**
     * 查询红包记录
     * @param  inputObj  传入数据
     * @return 带签名的完整 xml 数据
     */
    public function gethbinfo($inputObj) {
        $xml = <<<eof
            <xml>
                <sign>{sign}</sign>
                <mch_billno>{$inputObj->get_mch_billno()}</mch_billno>
                <mch_id>{$inputObj->get_mch_id()}</mch_id>
                <appid>{$inputObj->get_wxappid()}</appid>
                <bill_type>MCHT</bill_type> 
                <nonce_str>{$inputObj->get_nonce_str()}</nonce_str>
            </xml>
eof;
        $newXmlData = $this-> _getSign($xml);
        $data['api_url'] = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo';
        $data['xml_data'] = $newXmlData;
        return $data;
    }


    /**
     * 企业付款 xml 数据包
     * @param  inputObj  传入数据
     * @return 带签名的完整 xml 数据
     */
    public function getSendTransfersXml($inputObj) {
        $xml = <<<eof
            <xml>
                <mch_appid>{$inputObj->get_mch_appid()}</mch_appid>
                <mchid>{$inputObj->get_mchid()}</mchid>
                <nonce_str>{$inputObj->get_nonce_str()}</nonce_str>
                <partner_trade_no>{$inputObj->get_partner_trade_no()}</partner_trade_no>
                <openid>{$inputObj->get_openid()}</openid>
                <check_name>{$inputObj->get_check_name()}</check_name>
                <re_user_name>{$inputObj->get_re_user_name()}</re_user_name>
                <amount>{$inputObj->get_amount()}</amount>
                <desc>{$inputObj->get_desc()}!</desc>
                <spbill_create_ip>{$inputObj->get_spbill_create_ip()}</spbill_create_ip>
                <sign>{sign}</sign>
            </xml>
eof;
        $newXmlData = $this-> _getSign($xml);
        $data['api_url'] = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';
        $data['xml_data'] = $newXmlData;
        return $data;
    }


}

